#ifndef WIFIMANAGE_H
#define WIFIMANAGE_H

#include <QDialog>
#include <QComboBox>
#include <QTableWidget>
#include <QNetworkReply>

class amendWiFi;
class MessagePops;
class LComboBox;

namespace Ui {
class WiFiManage;
}

class WiFiManage : public QDialog
{
    Q_OBJECT

public:
    explicit WiFiManage(QWidget *parent = nullptr);
    ~WiFiManage();

    void analysisWiFiWorkers(QByteArray Data, int location_ = 1);//解析显示WIFI数据
    void analysisWiFiWorkers2(QByteArray Data,int page);//解析显示WIFI数据----翻页

private slots:
    //自定义槽函数
    void receWiFiItem(QString data);//自定义操作接收槽函数
    void receNewWifi(QString data);//自定义新建WiFi接收槽函数
    void receAmendWifi(QString data);//自定义修改WiFi接收槽函数
    void receMessage(QString data);
    void receLComboBox(int,QString);//自定义下拉复选框接收槽函数

private slots:
    void on_comboBox_activated(const QString &arg1);

    void FlipOver();//翻页触发槽函数
    void LeftOver();//左翻页槽函数
    void RightOver();//右翻页槽函数

    void requestFinished(QNetworkReply *reply);//删除WiFi接收槽函数

    void on_lineEdit_returnPressed();//WiFi输入框按下回车

    void on_pushButton_3_clicked();//点击搜索按钮

    void on_pushButton_2_clicked();//点击重置按钮

    void on_pushButton_clicked();//点击新建wifi按钮

    void on_lineEdit_textChanged(const QString &arg1);

signals:
    void sendWiFiManage(int, int);   //用来传递此窗口和主界面的信号


private:
    void initialize();//初始化界面
    void setcomboBox(QComboBox *comboBox);//设置QComboBox样式

    void userDefinedHeadline(QTableWidget *tableWidget, QTableWidget *Headline, QStringList headerText);//自定义标题

    //操作按钮
    void OnBtnClicked(int row, int column);//修改WiFi信息
    void OnBtnClicked2(int row, int column);//删除WiFi信息

    bool eventFilter(QObject *watched, QEvent *event);   //事件过滤

    void setPbStyleSheet();//设置翻页初始样式
    void setNumber(int x, int y, int w, int h, int number);//设置表格页数小于5页
    void showButton();//按钮显示位置样式
    QString comboBoxText(QComboBox *comboBox);//解析获取comboBox选中文本
    QString comboBoxText(LComboBox *comboBox);//解析获取lcomboBox选中文本

    //遮罩窗口突出显示弹窗
    void showShadeWindow();//显示遮罩窗口
    void closeShadeWindow();//关闭遮罩窗口

private:
    LComboBox *lComboBox;//类型
    Ui::WiFiManage *ui;

    QWidget *mpShadeWindow;//遮罩窗口突出显示弹窗
    QStringList accountNumbers;//保存所有用户账号
    QByteArray medicalWiFiData;//保存WIFI数据

    int removeID = 0;//需要删除的用户的id
    int sign1 = 0;
    int RowCount = 15;//设置表格行数

    int ifpbl = 0;//记录判断左按钮是否被禁用
    int ifpbr = 1;//记录判断右按钮是否被禁用
    int pagination = 1;//表格页数
    int location = 1;//记录表格位置
    QPushButton *PB[5];//保存页数按钮指针

    amendWiFi *amendwifi;

    MessagePops *mps;
};

#endif // WIFIMANAGE_H
